525B - Pasha and String - CodeForces Solution


constructive algorithms greedy math strings *1400

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;

#define int long long
#define ar array
#define dbg(x) cerr << #x << "->" << x << endl
#define ld long double	
#define f first
#define sc second
#define endl '\n'
#define all(x) x.begin(), x.end()
#define lcm(x, y)(x * y) / (__gcd(x, y))
#define sz(t)(int)(t.size())

const int mod = 1e9 + 7;

void solve() {
	string s;
	int q; 
	cin >> s >> q;
	map<int, int> mp;
	for(int i = 0; i < q; ++i) {
		int x; cin >> x;
		mp[x] += 1;
	}
	int n = sz(s), pref = 0;
	for(int i = 0; i < n / 2; ++i) {
		if((mp[i + 1] + pref) % 2) swap(s[i], s[n - i - 1]);
		pref += mp[i + 1];
	}
	cout << s << endl;
}

int32_t main() {
	cin.tie(0)->sync_with_stdio(0);
	cin.exceptions(cin.failbit);
	
	int t=1; //cin >> t;
	while(t--) {
		solve();
	}
}


Comments

Submit
0 Comments
More Questions

620A - Professor GukiZ's Robot
1342A - Road To Zero
1520A - Do Not Be Distracted
352A - Jeff and Digits
1327A - Sum of Odd Integers
1276A - As Simple as One and Two
812C - Sagheer and Nubian Market
272A - Dima and Friends
1352C - K-th Not Divisible by n
545C - Woodcutters
1528B - Kavi on Pairing Duty
339B - Xenia and Ringroad
189A - Cut Ribbon
1182A - Filling Shapes
82A - Double Cola
45A - Codecraft III
1242A - Tile Painting
1663E - Are You Safe
1663D - Is it rated - 3
1311A - Add Odd or Subtract Even
977F - Consecutive Subsequence
939A - Love Triangle
755A - PolandBall and Hypothesis
760B - Frodo and pillows
1006A - Adjacent Replacements
1195C - Basketball Exercise
1206A - Choose Two Numbers
1438B - Valerii Against Everyone
822A - I'm bored with life
9A - Die Roll